package jp.ac.waseda.cs.washi.game;

import jp.ac.waseda.cs.washi.gameaiarena.gui.Renderer;
import jp.ac.waseda.cs.washi.gameaiarena.key.MappedInputer;
import jp.ac.waseda.cs.washi.gameaiarena.scene.Environment;
import jp.ac.waseda.cs.washi.gameaiarena.scene.SceneManager;

public class GameEnvironment implements Environment<GameEnvironment> {

	private final SceneManager<GameEnvironment> _sceneManager;
	private final Renderer _renderer;
	private final MappedInputer _inputer;

	public GameEnvironment(SceneManager<GameEnvironment> sceneManager,
			Renderer renderer, MappedInputer inputer) {
		_sceneManager = sceneManager;
		_renderer = renderer;
		_inputer = inputer;
	}

	@Override
	public MappedInputer getInputer() {
		return _inputer;
	}

	@Override
	public Renderer getRenderer() {
		return _renderer;
	}

	@Override
	public SceneManager<GameEnvironment> getSceneManager() {
		return _sceneManager;
	}
}
